package com.youhome.service.service;

import com.youhome.common.exception.CustomException;
import com.youhome.service.model.*;
import com.youhome.service.response.HouseSchoolDistrictGeometryResult;
import com.youhome.service.response.SchoolAttendanceAreaResult;
import com.youhome.service.response.TimeValueItemResult;
import com.youhome.service.result.Geometry;
import com.youhome.service.result.HomeJunction;
import com.youhome.service.result.School;
import com.youhome.service.result.SchoolDetail;

import java.util.List;

/**
 * Created by chen365 on 2018/06/14.
 */
public interface HomeJunctionService {

    HomeJunction periphery(String houseId) throws CustomException;

    School school(String zip);

    SchoolDetail schoolDetail(String id) throws CustomException;

    HJZipCode selectZipByZipCode(String zipCode);

    HJCity selectCityByLabel(String label);

    HJState selectStateByAbbreviation(String abbreviation);

    List<HJPOICategory> selectAllHJPOICategory();

    Integer selectReviewRatingByZipAndGrade(HJSchool record);

    List<HJSchoolAttendanceArea> selectBySchoolId(String schoolId);

    List<HJSchool> selectSchoolByZip(String zip);

    List<SchoolAttendanceAreaResult>selectSchoolAndAttendanceAreaByZip(String zip);

    Geometry selectRegionByZip(String zip) throws CustomException;

    Geometry selectRegionByCity(String state, String city) throws CustomException;

    Geometry selectRegionByState(String state) throws CustomException;

    HouseSchoolDistrictGeometryResult selectSchoolAndAttendanceAreaByHouseId(String houseId) throws CustomException;

    HJSchool selectByPrimaryKey(String schoolId);

    HJCity selectCityByBean(HJCity record_city);

    HJCounty selectCountyByBean(HJCounty county_record);
}
